package com.itcast.admin.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.itcast.admin.domain.CheckupItem;
import com.itcast.admin.domain.request.ItemPageReqDTO;
import com.itcast.admin.domain.request.QueryEnableGroupAndItemReqDTO;
import com.itcast.admin.domain.response.ItemPageResDTO;
import com.itcast.admin.domain.response.QueryEnableGroupAndItemResDTO;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 体检项 Mapper 接口
 * </p>
 *
 * @author author
 * @since 2024-11-04
 */
public interface CheckupItemMapper extends BaseMapper<CheckupItem> {

    /**
     * 分页查询体检项
     * @param itemPageReqDTO
     * @return
     */
    List<ItemPageResDTO> pageQuery(ItemPageReqDTO itemPageReqDTO);

    /**
     * 获取体检套餐总价
     * @param itemIds
     * @return
     */
    BigDecimal getTotalPrice(List<Integer> itemIds);

    /**
     * 删除套餐关联的体检项
     * @param groupId
     */
    void deleteItemAtSetmeal(Integer groupId);

    /**
     * 根据体检项id获取关联套餐ids
     * @param itemId
     * @return
     */
    List<Integer> getSetMealIdsByItemId(Integer itemId);

    /**
     * 查询启用的体检组和体检项
     * @param queryEnableGroupAndItemReqDTO
     * @return
     */
    List<QueryEnableGroupAndItemResDTO> queryEnabledGroupAndItem(QueryEnableGroupAndItemReqDTO queryEnableGroupAndItemReqDTO);


}
